/*
 * Decompiled with CFR 0.150.
 * 
 * Could not load the following classes:
 *  cn.hutool.core.collection.CollUtil
 *  cn.hutool.core.util.ObjectUtil
 *  com.alibaba.fastjson.JSON
 *  de.felixroske.jfxsupport.FXMLController
 *  javafx.collections.FXCollections
 *  javafx.collections.ObservableList
 *  javafx.event.EventHandler
 *  javafx.fxml.FXML
 *  javafx.fxml.Initializable
 *  javafx.scene.Node
 *  javafx.scene.control.Alert
 *  javafx.scene.control.Alert$AlertType
 *  javafx.scene.control.Button
 *  javafx.scene.control.CheckBox
 *  javafx.scene.control.ScrollPane
 *  javafx.scene.control.TableCell
 *  javafx.scene.control.TableColumn
 *  javafx.scene.control.TableView
 *  javafx.scene.control.cell.PropertyValueFactory
 *  javafx.scene.input.KeyCode
 *  javafx.scene.input.KeyEvent
 *  javafx.scene.layout.VBox
 *  javafx.scene.text.Text
 *  javafx.util.Callback
 *  org.springframework.beans.factory.annotation.Autowired
 *  org.springframework.util.CollectionUtils
 */
package com.gys.controller.server;

import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.gys.common.business.ServerUtil;
import com.gys.common.data.HttpJson;
import com.gys.common.util.CacheUtil;
import com.gys.common.util.ConstUtil;
import com.gys.controller.BaseController;
import com.gys.controller.index.IndexController;
import com.gys.controller.salesReceipts.SalesReceiptsMainController;
import com.gys.data.example.GetLoginStoreOutData;
import com.gys.data.salesReceipts.TableInitData;
import com.gys.data.server.GetServerInData;
import com.gys.data.server.GetServerOutData;
import com.gys.data.server.GetServerProduct1OutData;
import com.gys.data.server.GetServerProduct2OutData;
import com.gys.data.server.GetServerProductInData;
import de.felixroske.jfxsupport.FXMLController;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.ResourceBundle;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.Node;
import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.control.CheckBox;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TableCell;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
import javafx.util.Callback;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;

@FXMLController
public class ServerController
extends BaseController
implements Initializable {
    private final int pageSize = ConstUtil.DEFAULT_PAGESIZE;
    private final int defaultPageCount = ConstUtil.DEFAULT_PAGECOUNT;
    private ObservableList<GetServerProduct1OutData> observableTableList1 = FXCollections.observableArrayList(new ArrayList());
    private ObservableList<GetServerProduct2OutData> observableTableList2 = FXCollections.observableArrayList(new ArrayList());
    @FXML
    private ScrollPane scrollPane;
    @FXML
    private VBox vBox;
    @FXML
    private Button enterBtn;
    @FXML
    private Button addBtn;
    @FXML
    private Text relevancyExplain1;
    @FXML
    private Text relevancyExplain2;
    @FXML
    private Text relevancyExplain3;
    @FXML
    private Text relevancyExplain4;
    @FXML
    private Text relevancyExplain5;
    @FXML
    private Text relevancyExplain6;
    @FXML
    private Text relevancyExplain7;
    @FXML
    private Text relevancyExplain8;
    @FXML
    private Text relevancyExplain9;
    @FXML
    private Text relevancyExplain10;
    @FXML
    private Text diffExplain1;
    @FXML
    private Text diffExplain2;
    @FXML
    private Text diffExplain3;
    @FXML
    private Text diffExplain4;
    @FXML
    private Text diffExplain5;
    @FXML
    private Text contraExplain1;
    @FXML
    private Text contraExplain2;
    @FXML
    private Text contraExplain3;
    @FXML
    private Text contraExplain4;
    @FXML
    private Text contraExplain5;
    @FXML
    private Text tipsExplain1;
    @FXML
    private Text tipsExplain2;
    @FXML
    private Text tipsExplain3;
    @FXML
    private Text tipsExplain4;
    @FXML
    private Text tipsExplain5;
    @FXML
    private TableView<GetServerProduct1OutData> tableView1;
    @FXML
    private TableView<GetServerProduct2OutData> tableView2;
    @FXML
    private TableColumn<GetServerProduct1OutData, String> proCode1;
    @FXML
    private TableColumn<GetServerProduct1OutData, String> proName1;
    @FXML
    private TableColumn<GetServerProduct1OutData, String> proSpecs1;
    @FXML
    private TableColumn<GetServerProduct1OutData, String> proUnit1;
    @FXML
    private TableColumn<GetServerProduct1OutData, CheckBox> checkBox1;
    @FXML
    private TableColumn<GetServerProduct1OutData, String> index1;
    @FXML
    private TableColumn<GetServerProduct1OutData, String> proFactoryName1;
    @FXML
    private TableColumn<GetServerProduct1OutData, String> proAmount1;
    @FXML
    private TableColumn<GetServerProduct1OutData, String> batchNo1;
    @FXML
    private TableColumn<GetServerProduct1OutData, String> proStock1;
    @FXML
    private TableColumn<GetServerProduct2OutData, String> proCode2;
    @FXML
    private TableColumn<GetServerProduct2OutData, String> proName2;
    @FXML
    private TableColumn<GetServerProduct2OutData, String> proSpecs2;
    @FXML
    private TableColumn<GetServerProduct2OutData, String> proUnit2;
    @FXML
    private TableColumn<GetServerProduct2OutData, CheckBox> checkBox2;
    @FXML
    private TableColumn<GetServerProduct2OutData, String> index2;
    @FXML
    private TableColumn<GetServerProduct2OutData, String> proFactoryName2;
    @FXML
    private TableColumn<GetServerProduct2OutData, String> proAmount2;
    @FXML
    private TableColumn<GetServerProduct2OutData, String> batchNo2;
    @FXML
    private TableColumn<GetServerProduct2OutData, String> proStock2;
    @Autowired
    private SalesReceiptsMainController salesReceiptsMainController;
    @Autowired
    private IndexController indexController;

    public void initialize(URL location, ResourceBundle resources) {
        this.init();
    }

    @Override
    public void init() {
        if (ObjectUtil.isEmpty(this.scrollPane)) {
            return;
        }
        this.indexController.scrollContentPane.setOnKeyReleased((EventHandler)new EventHandler<KeyEvent>(){

            public void handle(KeyEvent event) {
                if (event.getCode() == KeyCode.ESCAPE) {
                    ServerController.this.closeWindows();
                    return;
                }
                if (event.getCode() == KeyCode.ENTER) {
                    ServerController.this.pay();
                    return;
                }
            }
        });
        this.observableTableList1.clear();
        this.observableTableList2.clear();
        this.initTable();
    }

    @FXML
    private void pay() {
        GetServerProductInData product;
        this.scrollPane.getScene().getWindow().hide();
        GetServerInData inData = new GetServerInData();
        inData.setStoreCode(((GetLoginStoreOutData)CacheUtil.get("store")).getStoCode());
        inData.setBillNo(this.salesReceiptsMainController.getCaseId().getText());
        ArrayList<GetServerProductInData> productList = new ArrayList<GetServerProductInData>();
        for (Object data : this.observableTableList1) {
            product = new GetServerProductInData();
            product.setProCode(((GetServerProduct1OutData)data).getProCode1());
            product.setProCompclass(((GetServerProduct1OutData)data).getProCompclass1());
            product.setProStock(((GetServerProduct1OutData)data).getProStock1());
            productList.add(product);
        }
        for (Object data : this.observableTableList2) {
            product = new GetServerProductInData();
            product.setProCode(((GetServerProduct2OutData)data).getProCode2());
            product.setProCompclass(((GetServerProduct2OutData)data).getProCompclass2());
            product.setProStock(((GetServerProduct2OutData)data).getProStock2());
            productList.add(product);
        }
        inData.setProductList(productList);
        HttpJson rsp = ServerUtil.save(inData);
        if (!rsp.isSuccess()) {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", rsp.getMsg());
            alert.showAndWait();
        }
        this.salesReceiptsMainController.payAction();
        this.observableTableList1.clear();
        this.observableTableList2.clear();
    }

    @FXML
    private void closeWindows() {
        this.scrollPane.getScene().getWindow().hide();
        List<Integer> indexList1 = this.getSelectIndex1();
        for (Integer i : indexList1) {
            GetServerProduct1OutData data = (GetServerProduct1OutData)this.observableTableList1.get(i - 1);
            TableInitData tableInitData = new TableInitData();
            tableInitData.setGssbBatchNo(data.getBatchNo1());
            tableInitData.setGssbVaildDate(data.getVaildDate1());
            tableInitData.setGssQty("1");
            this.salesReceiptsMainController.queryProductDetail(data.getProCode1(), tableInitData);
        }
        List<Integer> indexList2 = this.getSelectIndex2();
        for (Integer i : indexList2) {
            GetServerProduct2OutData data = (GetServerProduct2OutData)this.observableTableList2.get(i - 1);
            TableInitData tableInitData = new TableInitData();
            tableInitData.setGssbBatchNo(data.getBatchNo2());
            tableInitData.setGssbVaildDate(data.getVaildDate2());
            tableInitData.setGssQty("1");
            this.salesReceiptsMainController.queryProductDetail(data.getProCode2(), tableInitData);
        }
        this.observableTableList1.clear();
        this.observableTableList2.clear();
    }

    public void initTable() {
        GetServerInData inData = new GetServerInData();
        inData.setStoreCode(((GetLoginStoreOutData)CacheUtil.get("store")).getStoCode());
        inData.setBillNo(this.salesReceiptsMainController.getCaseId().getText());
        GetServerOutData outData = new GetServerOutData();
        HttpJson rsp = ServerUtil.detail(inData);
        if (rsp.isSuccess()) {
            int i;
            outData = (GetServerOutData)JSON.parseObject((String)rsp.getMsg(), GetServerOutData.class);
            if (ObjectUtil.isNotEmpty(outData.getProductList1())) {
                for (i = 0; i < outData.getProductList1().size(); ++i) {
                    GetServerProduct1OutData product1OutData = outData.getProductList1().get(i);
                    product1OutData.setIndex1(i + 1);
                }
                this.observableTableList1 = FXCollections.observableArrayList(outData.getProductList1());
            }
            if (ObjectUtil.isNotEmpty(outData.getProductList2())) {
                for (i = 0; i < outData.getProductList2().size(); ++i) {
                    GetServerProduct2OutData product2OutData = outData.getProductList2().get(i);
                    product2OutData.setIndex2(i + 1);
                }
                this.observableTableList2 = FXCollections.observableArrayList(outData.getProductList2());
            }
            this.relevancyExplain1.setText(outData.getRelevancyExplain1());
            this.relevancyExplain2.setText(outData.getRelevancyExplain2());
            this.relevancyExplain3.setText(outData.getRelevancyExplain3());
            this.relevancyExplain4.setText(outData.getRelevancyExplain4());
            this.relevancyExplain5.setText(outData.getRelevancyExplain5());
            this.relevancyExplain6.setText(outData.getRelevancyExplain6());
            this.relevancyExplain7.setText(outData.getRelevancyExplain7());
            this.relevancyExplain8.setText(outData.getRelevancyExplain8());
            this.relevancyExplain9.setText(outData.getRelevancyExplain9());
            this.relevancyExplain10.setText(outData.getRelevancyExplain10());
            this.diffExplain1.setText(outData.getDiffExplain1());
            this.diffExplain2.setText(outData.getDiffExplain2());
            this.diffExplain3.setText(outData.getDiffExplain3());
            this.diffExplain4.setText(outData.getDiffExplain4());
            this.diffExplain5.setText(outData.getDiffExplain5());
            this.contraExplain1.setText(outData.getContraExplain1());
            this.contraExplain2.setText(outData.getContraExplain2());
            this.contraExplain3.setText(outData.getContraExplain3());
            this.contraExplain4.setText(outData.getContraExplain4());
            this.contraExplain5.setText(outData.getContraExplain5());
            this.tipsExplain1.setText(outData.getTipsExplain1());
            this.tipsExplain2.setText(outData.getTipsExplain2());
            this.tipsExplain3.setText(outData.getTipsExplain3());
            this.tipsExplain4.setText(outData.getTipsExplain4());
            this.tipsExplain5.setText(outData.getTipsExplain5());
        } else {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", rsp.getMsg());
            alert.showAndWait();
        }
        this.initList1();
        this.initList2();
    }

    public TableView<GetServerProduct1OutData> initList1() {
        this.bingTableCell1();
        this.tableView1.setItems(this.observableTableList1);
        return this.tableView1;
    }

    public TableView<GetServerProduct2OutData> initList2() {
        this.bingTableCell2();
        this.tableView2.setItems(this.observableTableList2);
        return this.tableView2;
    }

    private void bingTableCell1() {
        this.index1.setCellValueFactory((Callback)new PropertyValueFactory(this.index1.getId()));
        this.checkBox1.setCellValueFactory(cellData -> ((GetServerProduct1OutData)cellData.getValue()).getCheckBox1().getCustomCheckBox());
        this.checkBox1.setCellFactory(col -> {
            TableCell<GetServerProduct1OutData, CheckBox> cell = new TableCell<GetServerProduct1OutData, CheckBox>(){

                protected void updateItem(CheckBox item, boolean empty) {
                    super.updateItem(item, empty);
                    this.setGraphic((Node)item);
                    if (item != null) {
                        item.setOnMouseClicked(col -> {
                            if (CollUtil.isEmpty((Collection)ServerController.this.observableTableList1)) {
                                return;
                            }
                        });
                    }
                }
            };
            return cell;
        });
        this.proCode1.setCellValueFactory((Callback)new PropertyValueFactory(this.proCode1.getId()));
        this.proName1.setCellValueFactory((Callback)new PropertyValueFactory(this.proName1.getId()));
        this.proSpecs1.setCellValueFactory((Callback)new PropertyValueFactory(this.proSpecs1.getId()));
        this.proUnit1.setCellValueFactory((Callback)new PropertyValueFactory(this.proUnit1.getId()));
        this.proFactoryName1.setCellValueFactory((Callback)new PropertyValueFactory(this.proFactoryName1.getId()));
        this.proAmount1.setCellValueFactory((Callback)new PropertyValueFactory(this.proAmount1.getId()));
        this.batchNo1.setCellValueFactory((Callback)new PropertyValueFactory(this.batchNo1.getId()));
        this.proStock1.setCellValueFactory((Callback)new PropertyValueFactory(this.proStock1.getId()));
    }

    private void bingTableCell2() {
        this.index2.setCellValueFactory((Callback)new PropertyValueFactory(this.index2.getId()));
        this.checkBox2.setCellValueFactory(cellData -> ((GetServerProduct2OutData)cellData.getValue()).getCheckBox2().getCustomCheckBox());
        this.checkBox2.setCellFactory(col -> {
            TableCell<GetServerProduct2OutData, CheckBox> cell = new TableCell<GetServerProduct2OutData, CheckBox>(){

                protected void updateItem(CheckBox item, boolean empty) {
                    super.updateItem(item, empty);
                    this.setGraphic((Node)item);
                    if (item != null) {
                        item.setOnMouseClicked(col -> {
                            if (CollUtil.isEmpty((Collection)ServerController.this.observableTableList2)) {
                                return;
                            }
                        });
                    }
                }
            };
            return cell;
        });
        this.proCode2.setCellValueFactory((Callback)new PropertyValueFactory(this.proCode2.getId()));
        this.proName2.setCellValueFactory((Callback)new PropertyValueFactory(this.proName2.getId()));
        this.proSpecs2.setCellValueFactory((Callback)new PropertyValueFactory(this.proSpecs2.getId()));
        this.proUnit2.setCellValueFactory((Callback)new PropertyValueFactory(this.proUnit2.getId()));
        this.proFactoryName2.setCellValueFactory((Callback)new PropertyValueFactory(this.proFactoryName2.getId()));
        this.proAmount2.setCellValueFactory((Callback)new PropertyValueFactory(this.proAmount2.getId()));
        this.batchNo2.setCellValueFactory((Callback)new PropertyValueFactory(this.batchNo2.getId()));
        this.proStock2.setCellValueFactory((Callback)new PropertyValueFactory(this.proStock2.getId()));
    }

    private List<Integer> getSelectIndex1() {
        ArrayList<Integer> ids = new ArrayList<Integer>();
        if (!CollectionUtils.isEmpty(this.observableTableList1)) {
            for (GetServerProduct1OutData i : this.observableTableList1) {
                if (!i.getCheckBox1().isSelected().booleanValue()) continue;
                ids.add(i.getIndex1());
            }
        }
        return ids;
    }

    private List<Integer> getSelectIndex2() {
        ArrayList<Integer> ids = new ArrayList<Integer>();
        if (!CollectionUtils.isEmpty(this.observableTableList2)) {
            for (GetServerProduct2OutData i : this.observableTableList2) {
                if (!i.getCheckBox2().isSelected().booleanValue()) continue;
                ids.add(i.getIndex2());
            }
        }
        return ids;
    }

    public int getPageSize() {
        return this.pageSize;
    }

    public int getDefaultPageCount() {
        return this.defaultPageCount;
    }

    public ObservableList<GetServerProduct1OutData> getObservableTableList1() {
        return this.observableTableList1;
    }

    public ObservableList<GetServerProduct2OutData> getObservableTableList2() {
        return this.observableTableList2;
    }

    public ScrollPane getScrollPane() {
        return this.scrollPane;
    }

    public VBox getVBox() {
        return this.vBox;
    }

    public Button getEnterBtn() {
        return this.enterBtn;
    }

    public Button getAddBtn() {
        return this.addBtn;
    }

    public Text getRelevancyExplain1() {
        return this.relevancyExplain1;
    }

    public Text getRelevancyExplain2() {
        return this.relevancyExplain2;
    }

    public Text getRelevancyExplain3() {
        return this.relevancyExplain3;
    }

    public Text getRelevancyExplain4() {
        return this.relevancyExplain4;
    }

    public Text getRelevancyExplain5() {
        return this.relevancyExplain5;
    }

    public Text getRelevancyExplain6() {
        return this.relevancyExplain6;
    }

    public Text getRelevancyExplain7() {
        return this.relevancyExplain7;
    }

    public Text getRelevancyExplain8() {
        return this.relevancyExplain8;
    }

    public Text getRelevancyExplain9() {
        return this.relevancyExplain9;
    }

    public Text getRelevancyExplain10() {
        return this.relevancyExplain10;
    }

    public Text getDiffExplain1() {
        return this.diffExplain1;
    }

    public Text getDiffExplain2() {
        return this.diffExplain2;
    }

    public Text getDiffExplain3() {
        return this.diffExplain3;
    }

    public Text getDiffExplain4() {
        return this.diffExplain4;
    }

    public Text getDiffExplain5() {
        return this.diffExplain5;
    }

    public Text getContraExplain1() {
        return this.contraExplain1;
    }

    public Text getContraExplain2() {
        return this.contraExplain2;
    }

    public Text getContraExplain3() {
        return this.contraExplain3;
    }

    public Text getContraExplain4() {
        return this.contraExplain4;
    }

    public Text getContraExplain5() {
        return this.contraExplain5;
    }

    public Text getTipsExplain1() {
        return this.tipsExplain1;
    }

    public Text getTipsExplain2() {
        return this.tipsExplain2;
    }

    public Text getTipsExplain3() {
        return this.tipsExplain3;
    }

    public Text getTipsExplain4() {
        return this.tipsExplain4;
    }

    public Text getTipsExplain5() {
        return this.tipsExplain5;
    }

    public TableView<GetServerProduct1OutData> getTableView1() {
        return this.tableView1;
    }

    public TableView<GetServerProduct2OutData> getTableView2() {
        return this.tableView2;
    }

    public TableColumn<GetServerProduct1OutData, String> getProCode1() {
        return this.proCode1;
    }

    public TableColumn<GetServerProduct1OutData, String> getProName1() {
        return this.proName1;
    }

    public TableColumn<GetServerProduct1OutData, String> getProSpecs1() {
        return this.proSpecs1;
    }

    public TableColumn<GetServerProduct1OutData, String> getProUnit1() {
        return this.proUnit1;
    }

    public TableColumn<GetServerProduct1OutData, CheckBox> getCheckBox1() {
        return this.checkBox1;
    }

    public TableColumn<GetServerProduct1OutData, String> getIndex1() {
        return this.index1;
    }

    public TableColumn<GetServerProduct1OutData, String> getProFactoryName1() {
        return this.proFactoryName1;
    }

    public TableColumn<GetServerProduct1OutData, String> getProAmount1() {
        return this.proAmount1;
    }

    public TableColumn<GetServerProduct1OutData, String> getBatchNo1() {
        return this.batchNo1;
    }

    public TableColumn<GetServerProduct1OutData, String> getProStock1() {
        return this.proStock1;
    }

    public TableColumn<GetServerProduct2OutData, String> getProCode2() {
        return this.proCode2;
    }

    public TableColumn<GetServerProduct2OutData, String> getProName2() {
        return this.proName2;
    }

    public TableColumn<GetServerProduct2OutData, String> getProSpecs2() {
        return this.proSpecs2;
    }

    public TableColumn<GetServerProduct2OutData, String> getProUnit2() {
        return this.proUnit2;
    }

    public TableColumn<GetServerProduct2OutData, CheckBox> getCheckBox2() {
        return this.checkBox2;
    }

    public TableColumn<GetServerProduct2OutData, String> getIndex2() {
        return this.index2;
    }

    public TableColumn<GetServerProduct2OutData, String> getProFactoryName2() {
        return this.proFactoryName2;
    }

    public TableColumn<GetServerProduct2OutData, String> getProAmount2() {
        return this.proAmount2;
    }

    public TableColumn<GetServerProduct2OutData, String> getBatchNo2() {
        return this.batchNo2;
    }

    public TableColumn<GetServerProduct2OutData, String> getProStock2() {
        return this.proStock2;
    }

    public SalesReceiptsMainController getSalesReceiptsMainController() {
        return this.salesReceiptsMainController;
    }

    public IndexController getIndexController() {
        return this.indexController;
    }

    public void setObservableTableList1(ObservableList<GetServerProduct1OutData> observableTableList1) {
        this.observableTableList1 = observableTableList1;
    }

    public void setObservableTableList2(ObservableList<GetServerProduct2OutData> observableTableList2) {
        this.observableTableList2 = observableTableList2;
    }

    public void setScrollPane(ScrollPane scrollPane) {
        this.scrollPane = scrollPane;
    }

    public void setVBox(VBox vBox) {
        this.vBox = vBox;
    }

    public void setEnterBtn(Button enterBtn) {
        this.enterBtn = enterBtn;
    }

    public void setAddBtn(Button addBtn) {
        this.addBtn = addBtn;
    }

    public void setRelevancyExplain1(Text relevancyExplain1) {
        this.relevancyExplain1 = relevancyExplain1;
    }

    public void setRelevancyExplain2(Text relevancyExplain2) {
        this.relevancyExplain2 = relevancyExplain2;
    }

    public void setRelevancyExplain3(Text relevancyExplain3) {
        this.relevancyExplain3 = relevancyExplain3;
    }

    public void setRelevancyExplain4(Text relevancyExplain4) {
        this.relevancyExplain4 = relevancyExplain4;
    }

    public void setRelevancyExplain5(Text relevancyExplain5) {
        this.relevancyExplain5 = relevancyExplain5;
    }

    public void setRelevancyExplain6(Text relevancyExplain6) {
        this.relevancyExplain6 = relevancyExplain6;
    }

    public void setRelevancyExplain7(Text relevancyExplain7) {
        this.relevancyExplain7 = relevancyExplain7;
    }

    public void setRelevancyExplain8(Text relevancyExplain8) {
        this.relevancyExplain8 = relevancyExplain8;
    }

    public void setRelevancyExplain9(Text relevancyExplain9) {
        this.relevancyExplain9 = relevancyExplain9;
    }

    public void setRelevancyExplain10(Text relevancyExplain10) {
        this.relevancyExplain10 = relevancyExplain10;
    }

    public void setDiffExplain1(Text diffExplain1) {
        this.diffExplain1 = diffExplain1;
    }

    public void setDiffExplain2(Text diffExplain2) {
        this.diffExplain2 = diffExplain2;
    }

    public void setDiffExplain3(Text diffExplain3) {
        this.diffExplain3 = diffExplain3;
    }

    public void setDiffExplain4(Text diffExplain4) {
        this.diffExplain4 = diffExplain4;
    }

    public void setDiffExplain5(Text diffExplain5) {
        this.diffExplain5 = diffExplain5;
    }

    public void setContraExplain1(Text contraExplain1) {
        this.contraExplain1 = contraExplain1;
    }

    public void setContraExplain2(Text contraExplain2) {
        this.contraExplain2 = contraExplain2;
    }

    public void setContraExplain3(Text contraExplain3) {
        this.contraExplain3 = contraExplain3;
    }

    public void setContraExplain4(Text contraExplain4) {
        this.contraExplain4 = contraExplain4;
    }

    public void setContraExplain5(Text contraExplain5) {
        this.contraExplain5 = contraExplain5;
    }

    public void setTipsExplain1(Text tipsExplain1) {
        this.tipsExplain1 = tipsExplain1;
    }

    public void setTipsExplain2(Text tipsExplain2) {
        this.tipsExplain2 = tipsExplain2;
    }

    public void setTipsExplain3(Text tipsExplain3) {
        this.tipsExplain3 = tipsExplain3;
    }

    public void setTipsExplain4(Text tipsExplain4) {
        this.tipsExplain4 = tipsExplain4;
    }

    public void setTipsExplain5(Text tipsExplain5) {
        this.tipsExplain5 = tipsExplain5;
    }

    public void setTableView1(TableView<GetServerProduct1OutData> tableView1) {
        this.tableView1 = tableView1;
    }

    public void setTableView2(TableView<GetServerProduct2OutData> tableView2) {
        this.tableView2 = tableView2;
    }

    public void setProCode1(TableColumn<GetServerProduct1OutData, String> proCode1) {
        this.proCode1 = proCode1;
    }

    public void setProName1(TableColumn<GetServerProduct1OutData, String> proName1) {
        this.proName1 = proName1;
    }

    public void setProSpecs1(TableColumn<GetServerProduct1OutData, String> proSpecs1) {
        this.proSpecs1 = proSpecs1;
    }

    public void setProUnit1(TableColumn<GetServerProduct1OutData, String> proUnit1) {
        this.proUnit1 = proUnit1;
    }

    public void setCheckBox1(TableColumn<GetServerProduct1OutData, CheckBox> checkBox1) {
        this.checkBox1 = checkBox1;
    }

    public void setIndex1(TableColumn<GetServerProduct1OutData, String> index1) {
        this.index1 = index1;
    }

    public void setProFactoryName1(TableColumn<GetServerProduct1OutData, String> proFactoryName1) {
        this.proFactoryName1 = proFactoryName1;
    }

    public void setProAmount1(TableColumn<GetServerProduct1OutData, String> proAmount1) {
        this.proAmount1 = proAmount1;
    }

    public void setBatchNo1(TableColumn<GetServerProduct1OutData, String> batchNo1) {
        this.batchNo1 = batchNo1;
    }

    public void setProStock1(TableColumn<GetServerProduct1OutData, String> proStock1) {
        this.proStock1 = proStock1;
    }

    public void setProCode2(TableColumn<GetServerProduct2OutData, String> proCode2) {
        this.proCode2 = proCode2;
    }

    public void setProName2(TableColumn<GetServerProduct2OutData, String> proName2) {
        this.proName2 = proName2;
    }

    public void setProSpecs2(TableColumn<GetServerProduct2OutData, String> proSpecs2) {
        this.proSpecs2 = proSpecs2;
    }

    public void setProUnit2(TableColumn<GetServerProduct2OutData, String> proUnit2) {
        this.proUnit2 = proUnit2;
    }

    public void setCheckBox2(TableColumn<GetServerProduct2OutData, CheckBox> checkBox2) {
        this.checkBox2 = checkBox2;
    }

    public void setIndex2(TableColumn<GetServerProduct2OutData, String> index2) {
        this.index2 = index2;
    }

    public void setProFactoryName2(TableColumn<GetServerProduct2OutData, String> proFactoryName2) {
        this.proFactoryName2 = proFactoryName2;
    }

    public void setProAmount2(TableColumn<GetServerProduct2OutData, String> proAmount2) {
        this.proAmount2 = proAmount2;
    }

    public void setBatchNo2(TableColumn<GetServerProduct2OutData, String> batchNo2) {
        this.batchNo2 = batchNo2;
    }

    public void setProStock2(TableColumn<GetServerProduct2OutData, String> proStock2) {
        this.proStock2 = proStock2;
    }

    public void setSalesReceiptsMainController(SalesReceiptsMainController salesReceiptsMainController) {
        this.salesReceiptsMainController = salesReceiptsMainController;
    }

    public void setIndexController(IndexController indexController) {
        this.indexController = indexController;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof ServerController)) {
            return false;
        }
        ServerController other = (ServerController)o;
        if (!other.canEqual(this)) {
            return false;
        }
        if (this.getPageSize() != other.getPageSize()) {
            return false;
        }
        if (this.getDefaultPageCount() != other.getDefaultPageCount()) {
            return false;
        }
        ObservableList<GetServerProduct1OutData> this$observableTableList1 = this.getObservableTableList1();
        ObservableList<GetServerProduct1OutData> other$observableTableList1 = other.getObservableTableList1();
        if (this$observableTableList1 == null ? other$observableTableList1 != null : !this$observableTableList1.equals(other$observableTableList1)) {
            return false;
        }
        ObservableList<GetServerProduct2OutData> this$observableTableList2 = this.getObservableTableList2();
        ObservableList<GetServerProduct2OutData> other$observableTableList2 = other.getObservableTableList2();
        if (this$observableTableList2 == null ? other$observableTableList2 != null : !this$observableTableList2.equals(other$observableTableList2)) {
            return false;
        }
        ScrollPane this$scrollPane = this.getScrollPane();
        ScrollPane other$scrollPane = other.getScrollPane();
        if (this$scrollPane == null ? other$scrollPane != null : !this$scrollPane.equals(other$scrollPane)) {
            return false;
        }
        VBox this$vBox = this.getVBox();
        VBox other$vBox = other.getVBox();
        if (this$vBox == null ? other$vBox != null : !this$vBox.equals(other$vBox)) {
            return false;
        }
        Button this$enterBtn = this.getEnterBtn();
        Button other$enterBtn = other.getEnterBtn();
        if (this$enterBtn == null ? other$enterBtn != null : !this$enterBtn.equals(other$enterBtn)) {
            return false;
        }
        Button this$addBtn = this.getAddBtn();
        Button other$addBtn = other.getAddBtn();
        if (this$addBtn == null ? other$addBtn != null : !this$addBtn.equals(other$addBtn)) {
            return false;
        }
        Text this$relevancyExplain1 = this.getRelevancyExplain1();
        Text other$relevancyExplain1 = other.getRelevancyExplain1();
        if (this$relevancyExplain1 == null ? other$relevancyExplain1 != null : !this$relevancyExplain1.equals(other$relevancyExplain1)) {
            return false;
        }
        Text this$relevancyExplain2 = this.getRelevancyExplain2();
        Text other$relevancyExplain2 = other.getRelevancyExplain2();
        if (this$relevancyExplain2 == null ? other$relevancyExplain2 != null : !this$relevancyExplain2.equals(other$relevancyExplain2)) {
            return false;
        }
        Text this$relevancyExplain3 = this.getRelevancyExplain3();
        Text other$relevancyExplain3 = other.getRelevancyExplain3();
        if (this$relevancyExplain3 == null ? other$relevancyExplain3 != null : !this$relevancyExplain3.equals(other$relevancyExplain3)) {
            return false;
        }
        Text this$relevancyExplain4 = this.getRelevancyExplain4();
        Text other$relevancyExplain4 = other.getRelevancyExplain4();
        if (this$relevancyExplain4 == null ? other$relevancyExplain4 != null : !this$relevancyExplain4.equals(other$relevancyExplain4)) {
            return false;
        }
        Text this$relevancyExplain5 = this.getRelevancyExplain5();
        Text other$relevancyExplain5 = other.getRelevancyExplain5();
        if (this$relevancyExplain5 == null ? other$relevancyExplain5 != null : !this$relevancyExplain5.equals(other$relevancyExplain5)) {
            return false;
        }
        Text this$relevancyExplain6 = this.getRelevancyExplain6();
        Text other$relevancyExplain6 = other.getRelevancyExplain6();
        if (this$relevancyExplain6 == null ? other$relevancyExplain6 != null : !this$relevancyExplain6.equals(other$relevancyExplain6)) {
            return false;
        }
        Text this$relevancyExplain7 = this.getRelevancyExplain7();
        Text other$relevancyExplain7 = other.getRelevancyExplain7();
        if (this$relevancyExplain7 == null ? other$relevancyExplain7 != null : !this$relevancyExplain7.equals(other$relevancyExplain7)) {
            return false;
        }
        Text this$relevancyExplain8 = this.getRelevancyExplain8();
        Text other$relevancyExplain8 = other.getRelevancyExplain8();
        if (this$relevancyExplain8 == null ? other$relevancyExplain8 != null : !this$relevancyExplain8.equals(other$relevancyExplain8)) {
            return false;
        }
        Text this$relevancyExplain9 = this.getRelevancyExplain9();
        Text other$relevancyExplain9 = other.getRelevancyExplain9();
        if (this$relevancyExplain9 == null ? other$relevancyExplain9 != null : !this$relevancyExplain9.equals(other$relevancyExplain9)) {
            return false;
        }
        Text this$relevancyExplain10 = this.getRelevancyExplain10();
        Text other$relevancyExplain10 = other.getRelevancyExplain10();
        if (this$relevancyExplain10 == null ? other$relevancyExplain10 != null : !this$relevancyExplain10.equals(other$relevancyExplain10)) {
            return false;
        }
        Text this$diffExplain1 = this.getDiffExplain1();
        Text other$diffExplain1 = other.getDiffExplain1();
        if (this$diffExplain1 == null ? other$diffExplain1 != null : !this$diffExplain1.equals(other$diffExplain1)) {
            return false;
        }
        Text this$diffExplain2 = this.getDiffExplain2();
        Text other$diffExplain2 = other.getDiffExplain2();
        if (this$diffExplain2 == null ? other$diffExplain2 != null : !this$diffExplain2.equals(other$diffExplain2)) {
            return false;
        }
        Text this$diffExplain3 = this.getDiffExplain3();
        Text other$diffExplain3 = other.getDiffExplain3();
        if (this$diffExplain3 == null ? other$diffExplain3 != null : !this$diffExplain3.equals(other$diffExplain3)) {
            return false;
        }
        Text this$diffExplain4 = this.getDiffExplain4();
        Text other$diffExplain4 = other.getDiffExplain4();
        if (this$diffExplain4 == null ? other$diffExplain4 != null : !this$diffExplain4.equals(other$diffExplain4)) {
            return false;
        }
        Text this$diffExplain5 = this.getDiffExplain5();
        Text other$diffExplain5 = other.getDiffExplain5();
        if (this$diffExplain5 == null ? other$diffExplain5 != null : !this$diffExplain5.equals(other$diffExplain5)) {
            return false;
        }
        Text this$contraExplain1 = this.getContraExplain1();
        Text other$contraExplain1 = other.getContraExplain1();
        if (this$contraExplain1 == null ? other$contraExplain1 != null : !this$contraExplain1.equals(other$contraExplain1)) {
            return false;
        }
        Text this$contraExplain2 = this.getContraExplain2();
        Text other$contraExplain2 = other.getContraExplain2();
        if (this$contraExplain2 == null ? other$contraExplain2 != null : !this$contraExplain2.equals(other$contraExplain2)) {
            return false;
        }
        Text this$contraExplain3 = this.getContraExplain3();
        Text other$contraExplain3 = other.getContraExplain3();
        if (this$contraExplain3 == null ? other$contraExplain3 != null : !this$contraExplain3.equals(other$contraExplain3)) {
            return false;
        }
        Text this$contraExplain4 = this.getContraExplain4();
        Text other$contraExplain4 = other.getContraExplain4();
        if (this$contraExplain4 == null ? other$contraExplain4 != null : !this$contraExplain4.equals(other$contraExplain4)) {
            return false;
        }
        Text this$contraExplain5 = this.getContraExplain5();
        Text other$contraExplain5 = other.getContraExplain5();
        if (this$contraExplain5 == null ? other$contraExplain5 != null : !this$contraExplain5.equals(other$contraExplain5)) {
            return false;
        }
        Text this$tipsExplain1 = this.getTipsExplain1();
        Text other$tipsExplain1 = other.getTipsExplain1();
        if (this$tipsExplain1 == null ? other$tipsExplain1 != null : !this$tipsExplain1.equals(other$tipsExplain1)) {
            return false;
        }
        Text this$tipsExplain2 = this.getTipsExplain2();
        Text other$tipsExplain2 = other.getTipsExplain2();
        if (this$tipsExplain2 == null ? other$tipsExplain2 != null : !this$tipsExplain2.equals(other$tipsExplain2)) {
            return false;
        }
        Text this$tipsExplain3 = this.getTipsExplain3();
        Text other$tipsExplain3 = other.getTipsExplain3();
        if (this$tipsExplain3 == null ? other$tipsExplain3 != null : !this$tipsExplain3.equals(other$tipsExplain3)) {
            return false;
        }
        Text this$tipsExplain4 = this.getTipsExplain4();
        Text other$tipsExplain4 = other.getTipsExplain4();
        if (this$tipsExplain4 == null ? other$tipsExplain4 != null : !this$tipsExplain4.equals(other$tipsExplain4)) {
            return false;
        }
        Text this$tipsExplain5 = this.getTipsExplain5();
        Text other$tipsExplain5 = other.getTipsExplain5();
        if (this$tipsExplain5 == null ? other$tipsExplain5 != null : !this$tipsExplain5.equals(other$tipsExplain5)) {
            return false;
        }
        TableView<GetServerProduct1OutData> this$tableView1 = this.getTableView1();
        TableView<GetServerProduct1OutData> other$tableView1 = other.getTableView1();
        if (this$tableView1 == null ? other$tableView1 != null : !this$tableView1.equals(other$tableView1)) {
            return false;
        }
        TableView<GetServerProduct2OutData> this$tableView2 = this.getTableView2();
        TableView<GetServerProduct2OutData> other$tableView2 = other.getTableView2();
        if (this$tableView2 == null ? other$tableView2 != null : !this$tableView2.equals(other$tableView2)) {
            return false;
        }
        TableColumn<GetServerProduct1OutData, String> this$proCode1 = this.getProCode1();
        TableColumn<GetServerProduct1OutData, String> other$proCode1 = other.getProCode1();
        if (this$proCode1 == null ? other$proCode1 != null : !this$proCode1.equals(other$proCode1)) {
            return false;
        }
        TableColumn<GetServerProduct1OutData, String> this$proName1 = this.getProName1();
        TableColumn<GetServerProduct1OutData, String> other$proName1 = other.getProName1();
        if (this$proName1 == null ? other$proName1 != null : !this$proName1.equals(other$proName1)) {
            return false;
        }
        TableColumn<GetServerProduct1OutData, String> this$proSpecs1 = this.getProSpecs1();
        TableColumn<GetServerProduct1OutData, String> other$proSpecs1 = other.getProSpecs1();
        if (this$proSpecs1 == null ? other$proSpecs1 != null : !this$proSpecs1.equals(other$proSpecs1)) {
            return false;
        }
        TableColumn<GetServerProduct1OutData, String> this$proUnit1 = this.getProUnit1();
        TableColumn<GetServerProduct1OutData, String> other$proUnit1 = other.getProUnit1();
        if (this$proUnit1 == null ? other$proUnit1 != null : !this$proUnit1.equals(other$proUnit1)) {
            return false;
        }
        TableColumn<GetServerProduct1OutData, CheckBox> this$checkBox1 = this.getCheckBox1();
        TableColumn<GetServerProduct1OutData, CheckBox> other$checkBox1 = other.getCheckBox1();
        if (this$checkBox1 == null ? other$checkBox1 != null : !this$checkBox1.equals(other$checkBox1)) {
            return false;
        }
        TableColumn<GetServerProduct1OutData, String> this$index1 = this.getIndex1();
        TableColumn<GetServerProduct1OutData, String> other$index1 = other.getIndex1();
        if (this$index1 == null ? other$index1 != null : !this$index1.equals(other$index1)) {
            return false;
        }
        TableColumn<GetServerProduct1OutData, String> this$proFactoryName1 = this.getProFactoryName1();
        TableColumn<GetServerProduct1OutData, String> other$proFactoryName1 = other.getProFactoryName1();
        if (this$proFactoryName1 == null ? other$proFactoryName1 != null : !this$proFactoryName1.equals(other$proFactoryName1)) {
            return false;
        }
        TableColumn<GetServerProduct1OutData, String> this$proAmount1 = this.getProAmount1();
        TableColumn<GetServerProduct1OutData, String> other$proAmount1 = other.getProAmount1();
        if (this$proAmount1 == null ? other$proAmount1 != null : !this$proAmount1.equals(other$proAmount1)) {
            return false;
        }
        TableColumn<GetServerProduct1OutData, String> this$batchNo1 = this.getBatchNo1();
        TableColumn<GetServerProduct1OutData, String> other$batchNo1 = other.getBatchNo1();
        if (this$batchNo1 == null ? other$batchNo1 != null : !this$batchNo1.equals(other$batchNo1)) {
            return false;
        }
        TableColumn<GetServerProduct1OutData, String> this$proStock1 = this.getProStock1();
        TableColumn<GetServerProduct1OutData, String> other$proStock1 = other.getProStock1();
        if (this$proStock1 == null ? other$proStock1 != null : !this$proStock1.equals(other$proStock1)) {
            return false;
        }
        TableColumn<GetServerProduct2OutData, String> this$proCode2 = this.getProCode2();
        TableColumn<GetServerProduct2OutData, String> other$proCode2 = other.getProCode2();
        if (this$proCode2 == null ? other$proCode2 != null : !this$proCode2.equals(other$proCode2)) {
            return false;
        }
        TableColumn<GetServerProduct2OutData, String> this$proName2 = this.getProName2();
        TableColumn<GetServerProduct2OutData, String> other$proName2 = other.getProName2();
        if (this$proName2 == null ? other$proName2 != null : !this$proName2.equals(other$proName2)) {
            return false;
        }
        TableColumn<GetServerProduct2OutData, String> this$proSpecs2 = this.getProSpecs2();
        TableColumn<GetServerProduct2OutData, String> other$proSpecs2 = other.getProSpecs2();
        if (this$proSpecs2 == null ? other$proSpecs2 != null : !this$proSpecs2.equals(other$proSpecs2)) {
            return false;
        }
        TableColumn<GetServerProduct2OutData, String> this$proUnit2 = this.getProUnit2();
        TableColumn<GetServerProduct2OutData, String> other$proUnit2 = other.getProUnit2();
        if (this$proUnit2 == null ? other$proUnit2 != null : !this$proUnit2.equals(other$proUnit2)) {
            return false;
        }
        TableColumn<GetServerProduct2OutData, CheckBox> this$checkBox2 = this.getCheckBox2();
        TableColumn<GetServerProduct2OutData, CheckBox> other$checkBox2 = other.getCheckBox2();
        if (this$checkBox2 == null ? other$checkBox2 != null : !this$checkBox2.equals(other$checkBox2)) {
            return false;
        }
        TableColumn<GetServerProduct2OutData, String> this$index2 = this.getIndex2();
        TableColumn<GetServerProduct2OutData, String> other$index2 = other.getIndex2();
        if (this$index2 == null ? other$index2 != null : !this$index2.equals(other$index2)) {
            return false;
        }
        TableColumn<GetServerProduct2OutData, String> this$proFactoryName2 = this.getProFactoryName2();
        TableColumn<GetServerProduct2OutData, String> other$proFactoryName2 = other.getProFactoryName2();
        if (this$proFactoryName2 == null ? other$proFactoryName2 != null : !this$proFactoryName2.equals(other$proFactoryName2)) {
            return false;
        }
        TableColumn<GetServerProduct2OutData, String> this$proAmount2 = this.getProAmount2();
        TableColumn<GetServerProduct2OutData, String> other$proAmount2 = other.getProAmount2();
        if (this$proAmount2 == null ? other$proAmount2 != null : !this$proAmount2.equals(other$proAmount2)) {
            return false;
        }
        TableColumn<GetServerProduct2OutData, String> this$batchNo2 = this.getBatchNo2();
        TableColumn<GetServerProduct2OutData, String> other$batchNo2 = other.getBatchNo2();
        if (this$batchNo2 == null ? other$batchNo2 != null : !this$batchNo2.equals(other$batchNo2)) {
            return false;
        }
        TableColumn<GetServerProduct2OutData, String> this$proStock2 = this.getProStock2();
        TableColumn<GetServerProduct2OutData, String> other$proStock2 = other.getProStock2();
        if (this$proStock2 == null ? other$proStock2 != null : !this$proStock2.equals(other$proStock2)) {
            return false;
        }
        SalesReceiptsMainController this$salesReceiptsMainController = this.getSalesReceiptsMainController();
        SalesReceiptsMainController other$salesReceiptsMainController = other.getSalesReceiptsMainController();
        if (this$salesReceiptsMainController == null ? other$salesReceiptsMainController != null : !(this$salesReceiptsMainController).equals(other$salesReceiptsMainController)) {
            return false;
        }
        IndexController this$indexController = this.getIndexController();
        IndexController other$indexController = other.getIndexController();
        return !(this$indexController == null ? other$indexController != null : !(this$indexController).equals(other$indexController));
    }

    protected boolean canEqual(Object other) {
        return other instanceof ServerController;
    }

    public int hashCode() {
        int PRIME = 59;
        int result = 1;
        result = result * 59 + this.getPageSize();
        result = result * 59 + this.getDefaultPageCount();
        ObservableList<GetServerProduct1OutData> $observableTableList1 = this.getObservableTableList1();
        result = result * 59 + ($observableTableList1 == null ? 43 : $observableTableList1.hashCode());
        ObservableList<GetServerProduct2OutData> $observableTableList2 = this.getObservableTableList2();
        result = result * 59 + ($observableTableList2 == null ? 43 : $observableTableList2.hashCode());
        ScrollPane $scrollPane = this.getScrollPane();
        result = result * 59 + ($scrollPane == null ? 43 : $scrollPane.hashCode());
        VBox $vBox = this.getVBox();
        result = result * 59 + ($vBox == null ? 43 : $vBox.hashCode());
        Button $enterBtn = this.getEnterBtn();
        result = result * 59 + ($enterBtn == null ? 43 : $enterBtn.hashCode());
        Button $addBtn = this.getAddBtn();
        result = result * 59 + ($addBtn == null ? 43 : $addBtn.hashCode());
        Text $relevancyExplain1 = this.getRelevancyExplain1();
        result = result * 59 + ($relevancyExplain1 == null ? 43 : $relevancyExplain1.hashCode());
        Text $relevancyExplain2 = this.getRelevancyExplain2();
        result = result * 59 + ($relevancyExplain2 == null ? 43 : $relevancyExplain2.hashCode());
        Text $relevancyExplain3 = this.getRelevancyExplain3();
        result = result * 59 + ($relevancyExplain3 == null ? 43 : $relevancyExplain3.hashCode());
        Text $relevancyExplain4 = this.getRelevancyExplain4();
        result = result * 59 + ($relevancyExplain4 == null ? 43 : $relevancyExplain4.hashCode());
        Text $relevancyExplain5 = this.getRelevancyExplain5();
        result = result * 59 + ($relevancyExplain5 == null ? 43 : $relevancyExplain5.hashCode());
        Text $relevancyExplain6 = this.getRelevancyExplain6();
        result = result * 59 + ($relevancyExplain6 == null ? 43 : $relevancyExplain6.hashCode());
        Text $relevancyExplain7 = this.getRelevancyExplain7();
        result = result * 59 + ($relevancyExplain7 == null ? 43 : $relevancyExplain7.hashCode());
        Text $relevancyExplain8 = this.getRelevancyExplain8();
        result = result * 59 + ($relevancyExplain8 == null ? 43 : $relevancyExplain8.hashCode());
        Text $relevancyExplain9 = this.getRelevancyExplain9();
        result = result * 59 + ($relevancyExplain9 == null ? 43 : $relevancyExplain9.hashCode());
        Text $relevancyExplain10 = this.getRelevancyExplain10();
        result = result * 59 + ($relevancyExplain10 == null ? 43 : $relevancyExplain10.hashCode());
        Text $diffExplain1 = this.getDiffExplain1();
        result = result * 59 + ($diffExplain1 == null ? 43 : $diffExplain1.hashCode());
        Text $diffExplain2 = this.getDiffExplain2();
        result = result * 59 + ($diffExplain2 == null ? 43 : $diffExplain2.hashCode());
        Text $diffExplain3 = this.getDiffExplain3();
        result = result * 59 + ($diffExplain3 == null ? 43 : $diffExplain3.hashCode());
        Text $diffExplain4 = this.getDiffExplain4();
        result = result * 59 + ($diffExplain4 == null ? 43 : $diffExplain4.hashCode());
        Text $diffExplain5 = this.getDiffExplain5();
        result = result * 59 + ($diffExplain5 == null ? 43 : $diffExplain5.hashCode());
        Text $contraExplain1 = this.getContraExplain1();
        result = result * 59 + ($contraExplain1 == null ? 43 : $contraExplain1.hashCode());
        Text $contraExplain2 = this.getContraExplain2();
        result = result * 59 + ($contraExplain2 == null ? 43 : $contraExplain2.hashCode());
        Text $contraExplain3 = this.getContraExplain3();
        result = result * 59 + ($contraExplain3 == null ? 43 : $contraExplain3.hashCode());
        Text $contraExplain4 = this.getContraExplain4();
        result = result * 59 + ($contraExplain4 == null ? 43 : $contraExplain4.hashCode());
        Text $contraExplain5 = this.getContraExplain5();
        result = result * 59 + ($contraExplain5 == null ? 43 : $contraExplain5.hashCode());
        Text $tipsExplain1 = this.getTipsExplain1();
        result = result * 59 + ($tipsExplain1 == null ? 43 : $tipsExplain1.hashCode());
        Text $tipsExplain2 = this.getTipsExplain2();
        result = result * 59 + ($tipsExplain2 == null ? 43 : $tipsExplain2.hashCode());
        Text $tipsExplain3 = this.getTipsExplain3();
        result = result * 59 + ($tipsExplain3 == null ? 43 : $tipsExplain3.hashCode());
        Text $tipsExplain4 = this.getTipsExplain4();
        result = result * 59 + ($tipsExplain4 == null ? 43 : $tipsExplain4.hashCode());
        Text $tipsExplain5 = this.getTipsExplain5();
        result = result * 59 + ($tipsExplain5 == null ? 43 : $tipsExplain5.hashCode());
        TableView<GetServerProduct1OutData> $tableView1 = this.getTableView1();
        result = result * 59 + ($tableView1 == null ? 43 : $tableView1.hashCode());
        TableView<GetServerProduct2OutData> $tableView2 = this.getTableView2();
        result = result * 59 + ($tableView2 == null ? 43 : $tableView2.hashCode());
        TableColumn<GetServerProduct1OutData, String> $proCode1 = this.getProCode1();
        result = result * 59 + ($proCode1 == null ? 43 : $proCode1.hashCode());
        TableColumn<GetServerProduct1OutData, String> $proName1 = this.getProName1();
        result = result * 59 + ($proName1 == null ? 43 : $proName1.hashCode());
        TableColumn<GetServerProduct1OutData, String> $proSpecs1 = this.getProSpecs1();
        result = result * 59 + ($proSpecs1 == null ? 43 : $proSpecs1.hashCode());
        TableColumn<GetServerProduct1OutData, String> $proUnit1 = this.getProUnit1();
        result = result * 59 + ($proUnit1 == null ? 43 : $proUnit1.hashCode());
        TableColumn<GetServerProduct1OutData, CheckBox> $checkBox1 = this.getCheckBox1();
        result = result * 59 + ($checkBox1 == null ? 43 : $checkBox1.hashCode());
        TableColumn<GetServerProduct1OutData, String> $index1 = this.getIndex1();
        result = result * 59 + ($index1 == null ? 43 : $index1.hashCode());
        TableColumn<GetServerProduct1OutData, String> $proFactoryName1 = this.getProFactoryName1();
        result = result * 59 + ($proFactoryName1 == null ? 43 : $proFactoryName1.hashCode());
        TableColumn<GetServerProduct1OutData, String> $proAmount1 = this.getProAmount1();
        result = result * 59 + ($proAmount1 == null ? 43 : $proAmount1.hashCode());
        TableColumn<GetServerProduct1OutData, String> $batchNo1 = this.getBatchNo1();
        result = result * 59 + ($batchNo1 == null ? 43 : $batchNo1.hashCode());
        TableColumn<GetServerProduct1OutData, String> $proStock1 = this.getProStock1();
        result = result * 59 + ($proStock1 == null ? 43 : $proStock1.hashCode());
        TableColumn<GetServerProduct2OutData, String> $proCode2 = this.getProCode2();
        result = result * 59 + ($proCode2 == null ? 43 : $proCode2.hashCode());
        TableColumn<GetServerProduct2OutData, String> $proName2 = this.getProName2();
        result = result * 59 + ($proName2 == null ? 43 : $proName2.hashCode());
        TableColumn<GetServerProduct2OutData, String> $proSpecs2 = this.getProSpecs2();
        result = result * 59 + ($proSpecs2 == null ? 43 : $proSpecs2.hashCode());
        TableColumn<GetServerProduct2OutData, String> $proUnit2 = this.getProUnit2();
        result = result * 59 + ($proUnit2 == null ? 43 : $proUnit2.hashCode());
        TableColumn<GetServerProduct2OutData, CheckBox> $checkBox2 = this.getCheckBox2();
        result = result * 59 + ($checkBox2 == null ? 43 : $checkBox2.hashCode());
        TableColumn<GetServerProduct2OutData, String> $index2 = this.getIndex2();
        result = result * 59 + ($index2 == null ? 43 : $index2.hashCode());
        TableColumn<GetServerProduct2OutData, String> $proFactoryName2 = this.getProFactoryName2();
        result = result * 59 + ($proFactoryName2 == null ? 43 : $proFactoryName2.hashCode());
        TableColumn<GetServerProduct2OutData, String> $proAmount2 = this.getProAmount2();
        result = result * 59 + ($proAmount2 == null ? 43 : $proAmount2.hashCode());
        TableColumn<GetServerProduct2OutData, String> $batchNo2 = this.getBatchNo2();
        result = result * 59 + ($batchNo2 == null ? 43 : $batchNo2.hashCode());
        TableColumn<GetServerProduct2OutData, String> $proStock2 = this.getProStock2();
        result = result * 59 + ($proStock2 == null ? 43 : $proStock2.hashCode());
        SalesReceiptsMainController $salesReceiptsMainController = this.getSalesReceiptsMainController();
        result = result * 59 + ($salesReceiptsMainController == null ? 43 : ($salesReceiptsMainController).hashCode());
        IndexController $indexController = this.getIndexController();
        result = result * 59 + ($indexController == null ? 43 : ($indexController).hashCode());
        return result;
    }

    public String toString() {
        return "ServerController(pageSize=" + this.getPageSize() + ", defaultPageCount=" + this.getDefaultPageCount() + ", observableTableList1=" + this.getObservableTableList1() + ", observableTableList2=" + this.getObservableTableList2() + ", scrollPane=" + this.getScrollPane() + ", vBox=" + this.getVBox() + ", enterBtn=" + this.getEnterBtn() + ", addBtn=" + this.getAddBtn() + ", relevancyExplain1=" + this.getRelevancyExplain1() + ", relevancyExplain2=" + this.getRelevancyExplain2() + ", relevancyExplain3=" + this.getRelevancyExplain3() + ", relevancyExplain4=" + this.getRelevancyExplain4() + ", relevancyExplain5=" + this.getRelevancyExplain5() + ", relevancyExplain6=" + this.getRelevancyExplain6() + ", relevancyExplain7=" + this.getRelevancyExplain7() + ", relevancyExplain8=" + this.getRelevancyExplain8() + ", relevancyExplain9=" + this.getRelevancyExplain9() + ", relevancyExplain10=" + this.getRelevancyExplain10() + ", diffExplain1=" + this.getDiffExplain1() + ", diffExplain2=" + this.getDiffExplain2() + ", diffExplain3=" + this.getDiffExplain3() + ", diffExplain4=" + this.getDiffExplain4() + ", diffExplain5=" + this.getDiffExplain5() + ", contraExplain1=" + this.getContraExplain1() + ", contraExplain2=" + this.getContraExplain2() + ", contraExplain3=" + this.getContraExplain3() + ", contraExplain4=" + this.getContraExplain4() + ", contraExplain5=" + this.getContraExplain5() + ", tipsExplain1=" + this.getTipsExplain1() + ", tipsExplain2=" + this.getTipsExplain2() + ", tipsExplain3=" + this.getTipsExplain3() + ", tipsExplain4=" + this.getTipsExplain4() + ", tipsExplain5=" + this.getTipsExplain5() + ", tableView1=" + this.getTableView1() + ", tableView2=" + this.getTableView2() + ", proCode1=" + this.getProCode1() + ", proName1=" + this.getProName1() + ", proSpecs1=" + this.getProSpecs1() + ", proUnit1=" + this.getProUnit1() + ", checkBox1=" + this.getCheckBox1() + ", index1=" + this.getIndex1() + ", proFactoryName1=" + this.getProFactoryName1() + ", proAmount1=" + this.getProAmount1() + ", batchNo1=" + this.getBatchNo1() + ", proStock1=" + this.getProStock1() + ", proCode2=" + this.getProCode2() + ", proName2=" + this.getProName2() + ", proSpecs2=" + this.getProSpecs2() + ", proUnit2=" + this.getProUnit2() + ", checkBox2=" + this.getCheckBox2() + ", index2=" + this.getIndex2() + ", proFactoryName2=" + this.getProFactoryName2() + ", proAmount2=" + this.getProAmount2() + ", batchNo2=" + this.getBatchNo2() + ", proStock2=" + this.getProStock2() + ", salesReceiptsMainController=" + this.getSalesReceiptsMainController() + ", indexController=" + this.getIndexController() + ")";
    }
}

